#ifndef DEBUGPARSER_H_
#define DEBUGPARSER_H_

#include <libxml++/libxml++.h>
#include <libxml/tree.h>
#include <iostream>
#include "Mapa.h"
#include "Territorio.h"
#include "Jugador.h"
#include "Continente.h"
#include "JuegoServerImp.h"
#include "Ataque.h"
#include "FabricaDeJugadores.h"
#include "TiradorDeDados.h"

class DebugParser : public xmlpp::SaxParser
{
private:
	FabricaDeJugadores* fabricaDeJugadores;
	JuegoServerImp* juego;
	Mapa* mapa;
	TiradorDeDados* tiradorDeDados;
public:
	DebugParser(Mapa* unMapa, FabricaDeJugadores* fabricaDeJugadores, TiradorDeDados* tiradorDeDados);
	virtual ~DebugParser();
protected:
  //overrides:
  
  virtual void on_start_element(const Glib::ustring& name, const AttributeList& properties);
  void dadosParaDefender(const AttributeList& properties);
  void ejercitosParaOcupar(const AttributeList& properties);
  void pasar(const AttributeList& properties);
  void unirseAlJuego(const AttributeList& properties);
  void atacar(const AttributeList& properties);
  void moverEjercitos(const AttributeList& properties);
  void colocarEjercitos(const AttributeList& properties);
  virtual void on_end_element(const Glib::ustring& name);
	virtual void on_characters(const Glib::ustring& characters);
	virtual void on_comment(const Glib::ustring& text);
	virtual void on_warning(const Glib::ustring& text);
	virtual void on_error(const Glib::ustring& text);
	virtual void on_fatal_error(const Glib::ustring& text);

  };

#endif /*DEBUGPARSER_H_*/
